One type of high density programmable logic devices ("PLDs") is the in-system programmable Large Scale Integration (ispLSI) family of devices from Lattice Semiconductor Corporation, Hillsboro, Oreg. An ispLSI device is reprogrammable in its application environment without being removed from the environment.
High density programmable logic devices, such as the ispLSI devices, are often referred to as "complex PLDs." In a complex PLD, programmable logic functions are configured by programming a number of programmable logic blocks. Each programmable logic block typically includes a set of cells, in which each cell performs a single logic function and generates an output signal based on that logic function.
The number of logic functions that can be performed by a programmable logic device is typically limited by the number of cells in the device. Furthermore, the assignment of logic functions to the respective cells prior to programming the device can be a difficult task due to the limited availability of signal routing among cells within the programmable logic device. Generating an viable interconnect solution can be especially difficult when the number of logic functions to be performed is equal to or close to the number of cells, so that the programmable logic device is at or near capacity. Moreover, when the number of logic functions to be performed is greater than the number of cells in the device, the device is simply not capable of performing the desired functions.